#! /usr/bin/env python
# -*- coding: utf-8 -*-
'''
Модуль для поиска поясов трещиноватости в заданной матрице плотности 
трещноватости. Фактически, результатом выполнения этой программы станет матрица
плотности, на которой будут находится оси поясов трещин. Каждому значению ячейки
матрицы будет соответсвовать "интенсивность пояса", осью которого является
ячейка.
Не работает!
'''

import sys
from optparse import OptionParser

from plane import Plane
from grid_plane import PlaneGrid
import fr_parser
import fr_scatdir_module
from readdensity import readdensity
from fr_belts_intensity import building_grid_of_intensity 

# Обрабатываем опции командной строки
optparser= OptionParser()   
optparser.add_option('-d', dest='dfile',
					help='File name of the density grid')
options, args = optparser.parse_args(sys.argv[1:])

# Читаем матрицу плотности трещиноватости
density, size, max_density_val = None, None, None
if options.dfile:
	density, size, max_density_val = readdensity(options.dfile)

grid = PlaneGrid(incr=[int(size), int(size)])
for pl in density:        
    grid.add(plane=Plane(pl[0], pl[1]), val=pl[2])

increment = 5 

belt, mval = building_grid_of_intensity(grid, increment)

# Записываем результат в файл.
sys.stdout.write('%2.2f\n' % (increment))
sys.stdout.write('%2.2f\n' % (mval))
for ddir in range(0, 360, increment):
    for ddip in range(0, 90, increment):
        a = Plane(ddir,ddip)
        sys.stdout.write('%d\t%d\t%g\n' % (a.dir, a.dip, belt.get(plane=a)))
